Menu
F Sharp (bahasa pengaturcaraan) ContohBerikut ialah beberapa contoh ringkas:
// Komen untuk atur cara indahnya dunia.printfn "Indahnya dunia!"
Kelas Orang yang pembinanya menerima nama dan umur serta dua sifat.
/// This is a documentation comment for a type definition.type Orang(nama : string, umur : int) = member x.Nama = nama member x.Umur = umur
Contoh ringkas yang selalu digunakan untuk menunjukkan sintaks bahasa-bahasa kefungsian iaitu fungsi faktorial bagi integer 32-bit bukan negatif, di dalam F#:
/// Ini komen pendokumenan bagi sebuah fungsi.let rec factorial n = match n with | 0 -> 1 | _ -> n * factorial (n - 1)
Contoh lelaran (iteration):
/// Lelaran menggunakan gelung 'for'let printList lst = for x in lst do printfn "%d" x/// Lelaran mengunakan fungsi tertib lebih tinggilet printList2 lst = List.iter (printfn "%d") lst/// Lelaran menggunakan fungsi rekursif dan pemadanan coraklet rec printList3 lst = match lst with | [] -> () | h :: t -> printfn "%d" h printList t
Contoh Fibonacci:
/// Formula Nombor Fibonaccilet rec fib n = match n with | 0 | 1 -> n | _ -> fib (n - 1) + fib (n - 2)/// Cara lain - jujukan takterhingga malas bagi nombor Fibonaccilet fibSeq = Seq.unfold (fun (a,b) -> Some(a+b, (b, a+b))) (1,1)// Papar nombor Fibonacci genap[1 .. 10]|> List.map fib|> List.filter (fun n -> (n % 2) = 0)|> printList// Benda yang sama, menggunakan sebutan senarai[ for i in 1..10 do let r = fib i if r % 2 = 0 then yield r ]|> printList
Atur cara Windows Forms mudah:
// Buka pustaka Windows Forms open System.Windows.Forms// Cipta sebuah tetingkap dan tetapkan beberapa sifatlet form = new Form(Visible=true, TopMost=true, Text="Welcome to F#")// Cipta sebuah label untuk memaparkan teks di dalam formlet label = let x = 3 + (4 * 5) new Label(Text = sprintf "x = %d" x)// Letakkan label di atas formform.Controls.Add(label)// Akhir sekali, jalan form tadi[<System.STAThread>]Application.Run(form)
Contoh pengaturcaraan selari taksegerak (Tugas CPU dan I/O selari):
/// A very naive prime number detector let isPrime (n:int) = let bound = int (sqrt (float n)) seq {2 .. bound} |> Seq.forall (fun x -> n % x <> 0) // We are using async workflows let primeAsync n = async { return (n, isPrime n) }/// Pulangkan nombor perdana antar m dan n menggunakan lebih daripada satu threadlet primes m n = seq {m .. n} |> Seq.map primeAsync |> Async.Parallel |> Async.RunSynchronously |> Array.filter snd |> Array.map fst// Jalankan ujian primes 1000000 1002000 |> Array.iter (printfn "%d")
Menu
F Sharp (bahasa pengaturcaraan) ContohBerkaitan
F Filipina Faizal Hussein F.C. Internazionale Milano Fasha Sandha Fattah Amin Farid Kamil Fadillah Yusof Faizal Tahir FreemasonRujukan
WikiPedia: F Sharp (bahasa pengaturcaraan) http://msdn.microsoft.com/en-us/fsharp/default.asp... http://research.microsoft.com/en-us/um/cambridge/p... http://research.microsoft.com/en-us/um/cambridge/p... http://searchwindevelopment.techtarget.com/generic... http://fsharp.org